home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 051a / tbav603.zip / TBSCAN.DOC < prev    next >
Text File  |  1993-06-15  |  78KB  |  1,981 lines

  1.  
  2.  
  3.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  4.  
  5.  
  6.                                Table of Contents
  7.  
  8.  
  9.     1. INTRODUCTION...................................... 2
  10.         1.1. Purpose of TbScan........................... 2
  11.         1.2. A Quick start............................... 2
  12.         1.3. Benefits.................................... 2
  13.             1.3.1. Speed................................. 2
  14.             1.3.2. Reliability........................... 3
  15.             1.3.3. Smart scanning........................ 4
  16.         1.4. Limitations of scanners..................... 4
  17.  
  18.     2. USAGE OF THE PROGRAM.............................. 6
  19.         2.1. System requirements......................... 6
  20.         2.2. Program invocation.......................... 6
  21.         2.3. While scanning.............................. 6
  22.         2.4. Detecting viruses........................... 7
  23.         2.5. Integrity checking.......................... 9
  24.         2.6. Heuristic scanning.......................... 9
  25.             2.6.1. False positives...................... 11
  26.             2.6.2. C - File has been changed............ 12
  27.             2.6.3. c - No integrity check............... 12
  28.             2.6.4. F - Suspicious file access........... 12
  29.             2.6.5. R - Suspicious relocator............. 12
  30.             2.6.6. A - Suspicious Memory Allocation..... 12
  31.             2.6.7. N - Wrong name extension............. 13
  32.             2.6.8. S - Search for executables........... 13
  33.             2.6.9. # - Encryption loop found............ 13
  34.             2.6.10. V - Validated program............... 13
  35.             2.6.11. E - Flexible Entry-point............ 13
  36.             2.6.12. L - program Load trap............... 14
  37.             2.6.13. D - Direct disk access.............. 14
  38.             2.6.14. M - Memory resident code............ 14
  39.             2.6.15. ! - Invalid program code............ 14
  40.             2.6.16. T - Invalid timestamp............... 15
  41.             2.6.17. J - Suspicious jump construct....... 15
  42.             2.6.18. ? - Inconsistent header............. 15
  43.             2.6.19. G - Garbage instructions............ 15
  44.             2.6.20. U - Undocumented system call........ 16
  45.             2.6.21. Y - Invalid bootsector.............. 16
  46.             2.6.22. Z - EXE/COM determinator............ 16
  47.             2.6.23. O - code Overwrite.................. 16
  48.             2.6.24. B - Back to entry................... 16
  49.             2.6.25. K - Unusual stack................... 17
  50.             2.6.26. p - Packed or compressed file....... 17
  51.             2.6.27. w - Windows or OS/2 header.......... 17
  52.             2.6.28. h - Hidden or System file........... 17
  53.             2.6.29. i - Internal overlay................ 17
  54.         2.7. Program validation......................... 17
  55.         2.8. Command line options....................... 18
  56.             2.8.1. help ................................ 19
  57.             2.8.2. pause ............................... 19
  58.  
  59.  
  60.  
  61.                                      Page i
  62.  
  63.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  64.  
  65.  
  66.             2.8.3. mono ................................ 19
  67.             2.8.4. quick ............................... 19
  68.             2.8.5. allfiles ............................ 19
  69.             2.8.6. heuristic ........................... 20
  70.             2.8.7. extract ............................. 20
  71.             2.8.8. once ................................ 20
  72.             2.8.9. secure .............................. 20
  73.             2.8.10. compat ............................. 21
  74.             2.8.11. ignofile ........................... 21
  75.             2.8.12. noboot ............................. 21
  76.             2.8.13. nomem .............................. 21
  77.             2.8.14. hma ................................ 21
  78.             2.8.15. nohmem ............................. 21
  79.             2.8.16. nosub .............................. 21
  80.             2.8.17. noautohr ........................... 21
  81.             2.8.18. delete ............................. 22
  82.             2.8.19. rename ............................. 22
  83.             2.8.20. batch .............................. 22
  84.             2.8.21. repeat ............................. 22
  85.             2.8.22. log ................................ 22
  86.             2.8.23. append ............................. 23
  87.             2.8.24. logname ............................ 23
  88.             2.8.25. loglevel ........................... 23
  89.             2.8.26. expertlog .......................... 23
  90.         2.9. Examples:.................................. 24
  91.         2.10. The configuration file.................... 24
  92.         2.11. The TbScan.Lng file....................... 24
  93.         2.12. Error messages............................ 25
  94.         2.13. Exit codes................................ 25
  95.  
  96.     3. CONSIDERATIONS AND RECOMMENDATIONS............... 27
  97.         3.1. The internals of TbScan.................... 27
  98.             3.1.1. How is that blazing speed achieved?.. 27
  99.             3.1.2. The algorithms....................... 27
  100.                 3.1.2.1. Looking........................ 27
  101.                 3.1.2.2. Checking....................... 27
  102.                 3.1.2.3. Tracing........................ 28
  103.                 3.1.2.4. Scanning....................... 28
  104.                 3.1.2.5. Skipping....................... 28
  105.         3.2. The Sanity check........................... 29
  106.         3.3. How many viruses does it detect?........... 29
  107.         3.4. Scan scheduling............................ 29
  108.         3.5. Compressed files........................... 30
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.                                     Page ii
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.                                      Page 1
  182.  
  183.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  184.  
  185.  
  186. 1.  INTRODUCTION
  187.  
  188.  
  189.   1.1.  Purpose of TbScan
  190.  
  191.     TbScan is a virus scanner: it has been specifically developed to
  192.     detect viruses, Trojan Horses and other such threats to your
  193.     valuable data.
  194.  
  195.     A virus scanner is a program that is able to detect given virus
  196.     signatures in given environments. Most viruses consist of a unique
  197.     sequence of instructions, called a signature. Hence through
  198.     checking for the appearance of such signatures in a file we can
  199.     find out whether or not a program has been infected.
  200.  
  201.     Scanning all your program files for the signatures of all known
  202.     viruses helps you to find out quickly whether or not your system
  203.     has been infected and, if so, by what virus.
  204.  
  205.     Every PC owner should use a virus scanner frequently. It is the
  206.     least he or she should do to avoid damage caused by a virus.
  207.  
  208.  
  209.   1.2.  A Quick start
  210.  
  211.     Although we highly recommend a complete reading of this manual, we
  212.     offer you some directions for a quick run of TbScan here:
  213.  
  214.     Type 'TbScan C:\' at the DOS prompt. This will be sufficient for a
  215.     standard scan session. It is allowed to specify more drives:
  216.     'TbScan C:\ D:\'.
  217.  
  218.     The invocation syntax is:
  219.  
  220.             TBSCAN [@][<path>][<filename>]... [<options>]...
  221.  
  222.     If your system does not allow TbScan to run properly, set the
  223.     'compat' option: TBSCAN C:\ compat
  224.  
  225.     For fast online help type 'TbScan ?' or 'TbScan help'. The latter
  226.     will provide for a more detailed description of the command line
  227.     options.
  228.  
  229.  
  230.   1.3.  Benefits
  231.  
  232.     By now many different virus scanners have been developed.  However,
  233.     TbScan has a number of important and unique advantages over other
  234.     scanners. These are:
  235.  
  236.     1.3.1.  Speed
  237.  
  238.  
  239.  
  240.  
  241.                                      Page 2
  242.  
  243.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  244.  
  245.  
  246.         Most virus scanners do not operate very fast, which means that
  247.         scanning your PC for viruses can be a tedious, time-consuming
  248.         affair. Not many people will enjoy staring at their display for
  249.         a quarter of an hour or more while their system is being
  250.         scanned.  Consequently many people do not run their virus
  251.         scanners as often as they should. Under those circumstances
  252.         even the best virus scanner will become obsolete, simply
  253.         because it is not being used properly.
  254.  
  255.         Hence it was our goal to create a scanner fast enough to invite
  256.         users to invoke it from within their AUTOEXEC.BAT file every
  257.         morning.
  258.  
  259.         The speed depends on many system characteristics, so we will
  260.         not tell you how many times faster TbScan performs, but you
  261.         will easily find out yourself. The speed of our program has
  262.         been increased with almost every new release, and the current
  263.         version is faster than any other scanner known to us. Try it
  264.         yourself!
  265.  
  266.         TbScan is designed to scan for a large amount of virus
  267.         signatures. The current version of TbScan is able to scan for
  268.         over 2500 signatures (without additional memory requirements).
  269.         Because of its design, TbScan will not slow down if the number
  270.         of signatures increases. It doesn't matter whether you scan an
  271.         item for 10 or 1000 signatures.
  272.  
  273.     1.3.2.  Reliability
  274.  
  275.         TbScan checks itself on invocation. If it detects that it has
  276.         been infected it aborts with an error. This minimizes the risk
  277.         that the TbScan program itself will transfer a virus and so
  278.         infect your system.
  279.  
  280.         TbScan can also detect yet unknown viruses, because the
  281.         built-in disassembler is able to detect suspicious instruction
  282.         sequences and abnormal program lay-outs. This feature is
  283.         called 'heuristic scanning' and it is partially enabled by
  284.         default. Heuristic scanning is performed on files and
  285.         bootsectors, so for both items TbScan is able to find new and
  286.         yet unknown viruses.
  287.  
  288.         A lot of viruses are memory resident, which means that they
  289.         lodge themselves in the memory of your computer. There they can
  290.         comfortably affect all active programs. There are even 'smart'
  291.         viruses that temporarily 'disinfect' a program file, as soon as
  292.         they notice that attempts are made to read the program file as
  293.         is the case during a scanning operation. Most virus scanners
  294.         will then find that this program file has not been infected
  295.         (which is true at the time of scanning!). But after the
  296.         scanner has completed its scan the virus becomes operant, again
  297.         ridiculing the scanner report that no virus has been found.
  298.  
  299.  
  300.  
  301.                                      Page 3
  302.  
  303.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  304.  
  305.  
  306.         TbScan can bypass viruses that are already active in memory.
  307.         This is possible because TbScan does not use DOS to read the
  308.         files, but instead, TbScan interprets the File Allocation Table
  309.         and reads all files directly from disk.
  310.  
  311.         TbScan is able to scan Upper Memory, Video Memory and the HMA.
  312.         Many of the other scanners (still) don't recognize this memory.
  313.  
  314.         TbScan scans the video memory of your PC. Most anti-virus
  315.         products are not aware of the fact that it is possible to
  316.         install TSR programs (including viruses) in unused parts of
  317.         your video memory. TbScan scans all memory, including the video
  318.         memory, just to make sure.
  319.  
  320.         TbScan is able to detect droppers of bootsector viruses. The
  321.         dropper program itself has not been infected, but it is there
  322.         to install the bootsector virus in your system.
  323.  
  324.         TbScan also checks for file changes if you have used TbSetup to
  325.         generate the Anti-Vir.Dat files. When a virus infects a file,
  326.         the file changes and therefore the checksum does not match
  327.         anymore. TbScan informs you about such an unexpected file
  328.         change.
  329.  
  330.     1.3.3.  Smart scanning
  331.  
  332.         TbScan is not just a scanner, it is a disassembling scanner.
  333.         This means that TbScan not only scans the file but also
  334.         interprets the contents and adjusts the scanning algorithm to
  335.         gain the highest reliability and speed. By reliability we do
  336.         not only mean a low 'false negative' ratio, but a low 'false
  337.         positive' ratio as well.
  338.  
  339.         Apart from the capability of adjusting the scanning algorithm,
  340.         TbScan also displays additional information about the file
  341.         itself.  It can detect instruction sequences that are intended
  342.         to cause direct disk writes, to make program code resident, to
  343.         decrypt code, etc. TbScan even flags files as being infected by
  344.         an unknown virus if the disassembly shows that the file must
  345.         contain a virus even though a matching signature cannot be
  346.         found. This process is called "heuristic analysis". All this
  347.         information is displayed while a scan is being performed!
  348.  
  349.         TbScan offers registered users the possibility to define their
  350.         own signatures through the 'extract' option. You don't have to
  351.         be an assembler programmer anymore, if a signature has to be
  352.         defined in an emergency situation!
  353.  
  354.  
  355.   1.4.  Limitations of scanners
  356.  
  357.     Although TbScan is a very sophisticated scanner, it shares some of
  358.  
  359.  
  360.  
  361.                                      Page 4
  362.  
  363.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  364.  
  365.  
  366.     the limitations that all other scanners have:
  367.  
  368.     +   It cannot prevent infection.
  369.  
  370.         Virus scanners can only tell you whether or not your system has
  371.         been infected and if so, whether any damage has already been
  372.         done. By that time only a non-infected backup or a recovery pro-
  373.         gram such as TbClean will properly counter a virus infection.
  374.  
  375.     +   It cannot execute itself.
  376.  
  377.         You will have to be active in taking measures to protect your
  378.         system from virus infection. You should boot from a clean and
  379.         write-protected diskette and then execute the scanner at least
  380.         once every week, since some viruses can perfectly hide
  381.         themselves once resident in memory. Unfortunately it is an
  382.         illusion to think that employees will perform this task
  383.         correctly at all times. For company use we recommend additional
  384.         protection, in the shape of a permanently active immunizer such
  385.         as the Thunderbyte add-on card.
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.                                      Page 5
  422.  
  423.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  424.  
  425.  
  426. 2.  USAGE OF THE PROGRAM
  427.  
  428.  
  429.   2.1.  System requirements
  430.  
  431.     TbScan runs perfectly on standard machines, in line with our
  432.     philosophy that there should be a limit to limitations.
  433.  
  434.     +   TbScan requires 200 Kb of free memory. If you decide to use a
  435.         log file TbScan will need an additional 16 Kb of memory for the
  436.         log file buffer. If TbScan uses its own built-in file system it
  437.         uses additional memory to keep the FAT in memory.
  438.  
  439.         Note that the memory requirements are independent of the number
  440.         of signatures. The current memory requirements suffice to
  441.         manage at least 2500 signatures.
  442.  
  443.     +   TbScan can be executed under DOS version 3.00 (and all later
  444.         versions). However, Dos 3.3 or higher is recommended, since
  445.         TbScan has been optimized and designed primarily for use with
  446.         these DOS versions.
  447.  
  448.  
  449.   2.2.  Program invocation
  450.  
  451.     TbScan is easy to use. The syntax is as follows:
  452.  
  453.             TBSCAN [@][<path>][<filename>]... [<options>]...
  454.  
  455.     Drive and path tell TbScan where it should perform its scanning
  456.     operation. To search disks C: and D: you should enter:
  457.  
  458.             TBSCAN C:\ D:\
  459.  
  460.     When no filename has been specified but a drive and/or path
  461.     instead, the specified path will be used as top-level path.  All
  462.     its subdirectories will be processed too.
  463.  
  464.     When a filename has been specified only the specified path will be
  465.     searched. Subdirectories will not be processed.
  466.  
  467.     Wildcards in the filename are allowed. You may even specify '*.*'
  468.     which will result in all files being processed.
  469.  
  470.     You can also tell TbScan to use a list file. A list file is a file
  471.     that contains a list of paths/filenames to be scanned.  Have the
  472.     filename preceded by the character '@' on the TbScan command line:
  473.  
  474.             TBSCAN @TBSCAN.LST
  475.  
  476.  
  477.   2.3.  While scanning
  478.  
  479.  
  480.  
  481.                                      Page 6
  482.  
  483.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  484.  
  485.  
  486.     TbScan divides the screen into three windows: an information
  487.     window, a scanning window and a status window. The upper window is
  488.     the information window and it initially displays the comments found
  489.     in the data file.
  490.  
  491.     If TbScan detects infected files the names of the file and the
  492.     virus will be displayed in the upper window. The information will
  493.     stack up and scroll off the screen if it doesn't fit anymore.
  494.  
  495.     The lower left window displays the names of the files being
  496.     processed, the algorithm in use, info and heuristic flags,
  497.     and finally an OK statement or the name of the virus
  498.     detected.
  499.  
  500.     Example:
  501.     TEST.EXE   <Scanning...>  FR        OK
  502.        |          |           |         |
  503.        |          |           |         result of scan
  504.        |          |           heuristic flags
  505.        |          algorithm being used to process file
  506.        name of file in process
  507.  
  508.     You will see comments following each file name:
  509.     'Looking', 'Checking', 'Tracing', 'Scanning' or 'Skipping'. These
  510.     refer to the various algorithms being used to scan files.
  511.  
  512.     Other comments that TbScan can display here are the heuristic
  513.     flags.  Consult the 'Heuristic flags' chapter (3.5) for more
  514.     information on these warning characters.
  515.  
  516.     The lower right window is the status window. It displays the number
  517.     of files and directories encountered, the amount of viruses found,
  518.     etc. It also displays which file system is being used: either "DOS"
  519.     or "OWN". The latter means that TbScan is able to bypass DOS and
  520.     reads all files directly from disk for extra security and speed.
  521.  
  522.     The process can be aborted by pressing Ctrl-Break.
  523.  
  524.  
  525.   2.4.  Detecting viruses
  526.  
  527.     As soon as an infected program is found, the name of the virus will 
  528.     be displayed. If you did not specify one of the options 'batch', 
  529.     'rename' or 'delete', TbScan will prompt you to delete or rename 
  530.     the infected file, or to continue without action. If you choose to 
  531.     rename the file, the first character of the extension will be 
  532.     replaced by the character 'V'. This prevents the file from being 
  533.     executed accidentally before it has been investigated more 
  534.     thoroughly.
  535.  
  536.     In some situations TbScan will offer you an additional menu option:
  537.     V)alidate program. For more information about this menu option
  538.  
  539.  
  540.  
  541.                                      Page 7
  542.  
  543.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  544.  
  545.  
  546.     consult option 'Program validation'.
  547.  
  548.  
  549.     When TbScan detects an infected file it will display a message like:
  550.  
  551.         Infected by [name of virus] virus
  552.  
  553.     Several texts can precede the name of the virus:
  554.  
  555.         Infected by [name of virus] virus
  556.                 The file is infected by the virus mentioned.
  557.  
  558.         Dropper of [name of virus]
  559.                 A dropper is a program that has not been infected
  560.                 itself, but which does contain a bootsector virus and
  561.                 is able to install it in your bootsector.
  562.  
  563.         Damaged by [name of virus]
  564.                 Some viruses damage files. A damaged file contains -
  565.                 unlike an infected file - not the virus itself, but has
  566.                 been damaged by the virus.
  567.  
  568.         Overwritten by [name of virus]
  569.                 Some viruses overwrite files. An overwritten file
  570.                 contains - unlike an infected file - not the virus
  571.                 itself, but has been overwritten with garbage.
  572.  
  573.         Is Trojan named [name of Trojan]
  574.                 The file is a Trojan Horse. Do not execute the program
  575.                 but delete it.
  576.  
  577.         Is Joke named [name of Joke]
  578.                 There are some programs wich simulate the system is
  579.                 infected by a virus. A joke is completely harmless.
  580.  
  581.     It is also possible that TbScan encounters a file that seems to be
  582.     infected by a virus, although a signature could not be found. In
  583.     this case TbScan displays the prefix 'Probably' before the message.
  584.  
  585.     If you have specified option 'heuristic' it is likely that TbScan
  586.     will find some files which looks like a virus, and in this case
  587.     TbScan uses the prefix 'Might be' to inform you about it.  So, if
  588.     TbScan displays Might be infected by [name of virus] it does not
  589.     mean that the file is infected, but just that the file might be
  590.     infected by a virus. There are a lot of files that look like a
  591.     virus but they aren't.
  592.  
  593.     TbScan needs access to its data file to be able to tell you the
  594.     name of a virus. If it cannot access the data file it displays the
  595.     message [Cannot read datafile] instead of a virus name.
  596.  
  597.  
  598.  
  599.  
  600.  
  601.                                      Page 8
  602.  
  603.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  604.  
  605.  
  606.   2.5.  Integrity checking
  607.  
  608.     TbScan will also perform integrity checking while scanning. You
  609.     have to use TbSetup to generate the Anti-Vir.Dat files. Once these
  610.     files exist on your system TbScan will check that every file being
  611.     scanned matches the information maintained in the Anti-Vir.Dat
  612.     files. If a virus infects a file, the maintained information will
  613.     not match anymore with the now changed file, and TbScan will inform
  614.     you about this. There are no command line options to enable this
  615.     feature: TbScan will perform integrity checking automatically
  616.     if it detects the Anti-Vir.Dat files. Note that TbScan only reports
  617.     file changes that could indicate a virus. Internal configuration
  618.     areas of program files may also change, but TbScan does normally
  619.     not report this. However, if a file gets infected with any virus -
  620.     known or unknown - the vital information will change and TbScan
  621.     will indeed report it to you!
  622.  
  623.     It is however possible that the checked file changes itself or
  624.     changes frequently due to another cause. In this case you might
  625.     want to exclude the program from integrity checking to avoid future
  626.     false alarms. TbScan will offer you an additional menu option:
  627.     'V)alidate program'. For more information about this menu option
  628.     consult option 'Program validation'.
  629.  
  630.  
  631.   2.6.  Heuristic scanning
  632.  
  633.     TbScan is not just a signature scanner. It also disassembles the
  634.     file being processed. This serves three purposes:
  635.  
  636.     1) By disassembling the file the scanner can restrict itself to the
  637.        area of the file where the virus might reside, reducing false
  638.        alarms and speeding up the process.
  639.     2) It makes it possible to use the algorithmic detection method on
  640.        encrypted viruses whose signatures would otherwise remain
  641.        invisible to the scanner.
  642.     3) And it makes it possible to detect suspicious instruction
  643.        sequences.
  644.  
  645.     The detection of suspicious instruction sequences is named
  646.     'heuristic scanning'. It is a very powerful feature that enables
  647.     you to detect new or modified viruses and to verify the results of
  648.     the signature scan. You no longer have to rely on the vendor of the
  649.     scanner having the same virus as you might have. In normal cases a
  650.     scanner can only find a virus if the developer of the scanner has
  651.     had a sample of that virus, to be able to make a suitable
  652.     signature. With heuristic scanning a signature is no longer
  653.     required, so the scanner can detect viruses that are not known to
  654.     the developer of the scanner. You should not underestimate the
  655.     importance of heuristic scanning, as every month there appear at
  656.     least 50 new viruses. It is very unlikely that the developer of a
  657.     scanner is the first one that gets those new viruses...
  658.  
  659.  
  660.  
  661.                                      Page 9
  662.  
  663.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  664.  
  665.  
  666.     How does heuristic scanning actually work? Every program contains
  667.     instructions for the processor of the PC. By looking into the file
  668.     contents and by interpreting the instructions TbScan is able to
  669.     detect the purpose of these instructions. If the purpose seems to
  670.     be to format a disk, or to infect a file, TbScan issues a
  671.     warning. There are a lot of instruction sequences which are very
  672.     common for viruses, but very unlikely for normal programs. Every
  673.     suspicious instruction sequence is assigned to a character: a
  674.     heuristic flag. Every heuristic flag has a score. If the total
  675.     score exceeds a predefined limit, TbScan assumes the file contains
  676.     a virus.
  677.  
  678.     There are actually two predefined limits: the first one is quite
  679.     sensitive and can be reached by some normal innocent programs. If
  680.     this limit is reached, TbScan highlights the heuristic flags that
  681.     are displayed on the screen and increases the 'suspected items'
  682.     counter, but TbScan does not indicate there is a virus, unless you
  683.     have specified option 'heuristic'. If you have specified option
  684.     'heuristic', TbScan tells you that the file 'Might be infected by
  685.     an unknown virus'. The second heuristic-limit will be triggered by
  686.     a lot of viruses, but not by normal programs. If this limit is
  687.     reached TbScan tells you that the file is 'Probably infected by an
  688.     unknown virus.'
  689.  
  690.  
  691.     Heuristic level 1                  Heuristic level 2
  692.     --------------------------------   ----------------------------
  693.     Always enabled                     Only with option 'heuristic'
  694.                                        or after a virus has been
  695.                                        found.
  696.     Detects 50% of the unknown viruses Detects 90% of the viruses
  697.     Almost never causes false alarms   Causes a few false alarms
  698.     Displays 'Probably infected'       Displays 'Might be infected'
  699.  
  700.  
  701.     TEST.EXE <scanning...>      OK           (no flags)
  702.     TEST.EXE <scanning...> R    OK           (nothing serious)
  703.     TEST.EXE <scanning...> FRM
  704.      might be infected by an unknown virus   (reached level 2)
  705.     TEST.EXE <scanning...> FRALM#
  706.      probably infected by an unknown virus   (reached level 1)
  707.  
  708.  
  709.     Note that unlike other scanners, TbScan has heuristic scanning
  710.     always enabled. Whether TbScan decides to inform the user of
  711.     a possible virus depends on the heuristic score, unless option
  712.     'heuristic' has been specified.
  713.  
  714.     Heuristic flags consist of single characters that are printed behind
  715.     the name of the file that has been processed. There are two kinds
  716.     of flags: the informative ones are printed in lower-case
  717.     characters, and the more serious flags are printed in upper-case
  718.  
  719.  
  720.  
  721.                                     Page 10
  722.  
  723.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  724.  
  725.  
  726.     characters. The lower-case flags are indicative of special
  727.     characteristics of the file being processed, whereas the upper-case
  728.     warnings may indicate a virus. If the 'loglevel' is 3 or above, the
  729.     important warnings will not only appear as a warning character, but
  730.     there will also be a description printed in the log file.
  731.  
  732.     How should you treat the flags? The less important lower-case
  733.     flags can be considered to be for your information only. They
  734.     provide you with file information you might find interesting.  The
  735.     more serious warning flags printed in upper-case MIGHT point
  736.     towards a virus. It is quite normal that you have some files in
  737.     your system which trigger an upper-case flag.
  738.  
  739.     Anyway, if TbScan does not highlight a combination of warnings you
  740.     should not pay too much attention to these flags. For more than 90%
  741.     of the viruses TbScan will highlight the flags (or even indicates
  742.     the file as infected if option 'heuristic' is specified), so it is
  743.     unlikely that a file which only has some flags set really contains
  744.     a virus.
  745.  
  746.     Note!
  747.     TbScan performs heuristic analysis only nearby the entry-point of a
  748.     file, so it is normal that TbScan does not detect that some disk
  749.     utilities write to disk directly, and it is normal that TbScan does
  750.     not detect that some programs are TSR programs. This is just the
  751.     result of one approach to minimize false alarms. In case of a
  752.     virus, the offending instructions are always nearby the entry-point
  753.     (except when the virus is over 10Kb in size) so TbScan will detect
  754.     the suspicious facts in these situations anyway.
  755.  
  756.   2.6.1.  False positives.
  757.  
  758.     Important!
  759.  
  760.     False alarms are part of the nature of heuristic scanning. In
  761.     default mode it is very unlikely that TbScan issues a false alarm.
  762.     However, if you have specified option 'heuristic' some false alarms
  763.     might occur. How to deal with these false alarms? If TbScan thinks
  764.     it has found a virus it tells you the reason for this suspicion. In
  765.     most cases you will be able to evaluate these reasons when you
  766.     consider the purpose of the suspected file.
  767.  
  768.     Note that viruses infect other programs. It is highly unlikely that
  769.     you will find only a few infected files on a hard disk used
  770.     frequently. You should ignore a the result of a heuristic scan if
  771.     only a few programs on your hard disk trigger it. But, if your
  772.     system behaves in a 'strange' manner and many programs cause TbScan
  773.     to issue an alarm with the same serious flags, your system could
  774.     very well be infected by a (yet unknown) virus.
  775.  
  776.     If TbScan finds a file to be very suspicious and pops up with the
  777.     virus alert window, you can avoid future false alarms by pressing
  778.  
  779.  
  780.  
  781.                                     Page 11
  782.  
  783.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  784.  
  785.  
  786.     'V' (Validate program). Note that this only works if there is an
  787.     Anti-Vir.Dat record of the file available. Once a program is
  788.     validated it will no longer be subject to heuristic analyzis,
  789.     unless the program changes and does not match the Anti-Vir.Dat
  790.     record anymore. This will be the case if such a file gets infected
  791.     afterwards, so TbScan will still report infections on these files.
  792.     Note that a validated program is still subject to the conventional
  793.     signature scanning.
  794.  
  795.  
  796.   2.6.2.  C - File has been changed.
  797.  
  798.     This warning can only appear if you used TbSetup to generate the
  799.     Anti-Vir.Dat files. If this warning appears this means that the
  800.     file has been changed. If you did not upgrade the software it is
  801.     very likely that a virus infected the file! Note that TbScan does
  802.     not display this warning if only some internal configuration area
  803.     of the file changes. This warning means that code at the program
  804.     entry point, the entry-point itself and/or the file size have been
  805.     changed.
  806.  
  807.   2.6.3.  c - No integrity check.
  808.  
  809.     This warning indicates that no checksum/recovery information has
  810.     been found about the indicated file. It is highly recommended to
  811.     use TbSetup in this case to store information of the mentioned
  812.     file. This info can later be used for integrity checking and to
  813.     recover from virus infections.
  814.  
  815.   2.6.4.  F - Suspicious file access.
  816.  
  817.     TbScan has found instruction sequences common to infection schemes
  818.     used by viruses. This flag will appear with those programs that
  819.     are able to create or modify existing files.
  820.  
  821.   2.6.5.  R - Suspicious relocator.
  822.  
  823.     Flag 'R' refers to a suspicious relocator. A relocator is a
  824.     sequence of instructions that changes the proportion of CS:IP. It
  825.     is often used by viruses, especially COM type infectors. Tests on a
  826.     large collection of viruses show that TbScan issues this flag for
  827.     about 65% of all viruses. Those viruses have to relocate the CS:IP
  828.     proportion because they have been compiled for a specific location
  829.     in the executable file; a virus that infects another program can
  830.     hardly ever use its original location in the file as it is appended
  831.     to this file. Sound programs 'know' their location in the
  832.     executable file, so they don't have to relocate themselves. On
  833.     systems that operate normally only a small percentage of the
  834.     programs should therefore cause this flag to be displayed.
  835.  
  836.   2.6.6.  A - Suspicious Memory Allocation.
  837.  
  838.  
  839.  
  840.  
  841.                                     Page 12
  842.  
  843.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  844.  
  845.  
  846.     The program uses a non-standard way to search for, and/or allocate
  847.     memory. A lot of viruses try to hide themselves in memory so they use
  848.     a non-standard way to allocate this memory. Some programs
  849.     (high-loaders or diagnostic software) also use non-standard ways
  850.     to search or allocate memory.
  851.  
  852.   2.6.7.  N - Wrong name extension.
  853.  
  854.     Name conflict. The program carries the extension .EXE but appears
  855.     to be an ordinary .COM file, or it has the extension .COM but the
  856.     internal layout of an .EXE file. TbScan does not take any risk in
  857.     this situation, but scans the file for both EXE and COM type
  858.     signatures. A wrong name extension might in some cases indicate a
  859.     virus, but in most cases it doesn't.
  860.  
  861.   2.6.8.  S - Search for executables.
  862.  
  863.     The program searches for *.COM or *.EXE files. This by itself does
  864.     not indicate a virus, but it is an ingredient of most viruses anyway
  865.     (they have to search for suitable files to spread themselves).  If
  866.     accompanied by other flags, TbScan will assume the file is infected
  867.     by a virus.
  868.  
  869.   2.6.9.  # - Decryptor code found.
  870.  
  871.     The file possibly contains a self-decryption routine. Some
  872.     copy-protected software is encrypted so this warning may appear for
  873.     some of your files. But if this warning appears in combination
  874.     with, for example, the 'T' warning, there could be a virus involved
  875.     and TbScan assumes the file is contaminated! Many viruses encrypt
  876.     themselves and cause this warning to be displayed.
  877.  
  878.   2.6.10.  V - Validated program
  879.  
  880.     The program has been validated to avoid false alarms.
  881.  
  882.     -   The design of this program would normally cause a false alarm
  883.         by the heuristic scan mode of TbScan.
  884.  
  885.     or:
  886.  
  887.     -   This program might change frequently, and the file is excluded
  888.         from integrity checking.
  889.  
  890.     These exclusions are stored in the Anti-Vir.Dat file by either
  891.     TbSetup (automatically) or by TbScan (manually).
  892.  
  893.   2.6.11.  E - Flexible Entry-point
  894.  
  895.     The program starts with a routine that determines the location of
  896.     itself within the program file. This is rather suspicious because
  897.     sound programs have a fixed entry-point so they do not have to
  898.  
  899.  
  900.  
  901.                                     Page 13
  902.  
  903.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  904.  
  905.  
  906.     determine this location. For viruses however this is quite common:
  907.     about 50% of the available viruses cause this flag to be displayed.
  908.  
  909.     The DOS FORMAT.COM program is an instance where this flag will be
  910.     displayed by TbScan. This cannot be avoided because Microsoft did
  911.     some strange things to this program. It appears that the file was
  912.     originally an .EXE file which has been converted into a .COM file
  913.     by adding a shell-like structure to it. (What is actually the
  914.     difference between infecting a file and converting it this way?)
  915.     Anyway, you should ignore this warning as to the DOS FORMAT
  916.     program.
  917.  
  918.   2.6.12.  L - program Load trap.
  919.  
  920.     The program might trap the execution of other software. If the
  921.     file also causes flag M (memory resident code) to be displayed, it
  922.     is very likely that the file is a resident program that determines
  923.     when another program is executed. A lot of viruses trap the program
  924.     load and use it to infect the program. Some anti-virus utilities
  925.     also trap the program load.
  926.  
  927.   2.6.13.  D - Direct disk access.
  928.  
  929.     This flag is displayed if the program being processed has
  930.     instructions near the entry-point to write to a disk directly. It
  931.     is quite normal that some disk-related utilities cause this flag
  932.     to be displayed. As usual, if many of your files (which have no
  933.     business writing directly to the disk) cause this flag to be
  934.     displayed, your system might be infected by an unknown virus.
  935.  
  936.     Note that a program that accesses the disk directly does not always
  937.     have to be marked by the 'D' flag. Only when the direct disk
  938.     instructions are near the program entry point it will be reported
  939.     by TbScan. If a virus is involved the harmful instructions are
  940.     always near the entry point and that is the place where TbScan
  941.     looks for them.
  942.  
  943.   2.6.14.  M - Memory resident code.
  944.  
  945.     TbScan has found instruction sequences which could cause the
  946.     program to hook into important interrupts.  A lot of TSR (Terminate
  947.     and Stay Resident) programs will trigger this flag, because
  948.     hooking into interrupts is part of their usual behavior. However,
  949.     if a lot of non-TSR programs cause this warning flag to appear, you
  950.     should be suspicious. It is then likely that your files have been
  951.     infected by a virus that remains resident in memory.
  952.  
  953.     Note that this warning does not appear with all true TSR programs.
  954.     Nor can TSR detection in non-TSR programs always be relied upon.
  955.  
  956.   2.6.15.  ! - Invalid program.
  957.  
  958.  
  959.  
  960.  
  961.                                     Page 14
  962.  
  963.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  964.  
  965.  
  966.     Invalid opcode (non-8088 instructions) or out-of-range branch.
  967.  
  968.     The program has either an entry point that has been located outside
  969.     the body of the file, or reveals a chain of 'jumps' that can be
  970.     traced to a location outside the program file.
  971.  
  972.     Another possibility is that the program contains invalid processor
  973.     instructions.
  974.  
  975.     The program being checked is probably damaged, and cannot be
  976.     executed in most cases. Anyway, TbScan does not take any risk and
  977.     uses the 'scan' method to scan the file.
  978.  
  979.   2.6.16.  T - Invalid timestamp.
  980.  
  981.     The timestamp of the program is invalid: e.g. the number of seconds
  982.     in the timestamp is illegal, or the date is illegal or later than
  983.     the year 2000. This is suspicious because many viruses set the
  984.     timestamp to an illegal value (like 62 seconds) to mark that they
  985.     already infected the file, preventing themselves from infecting a
  986.     file for a second time round. It is possible that the program being
  987.     checked is contaminated with a virus that is still unknown,
  988.     especially if many files on your system have an invalid timestamp.
  989.     If only a very few programs have an invalid timestamp you'd better
  990.     correct it and scan frequently to check that the timestamp of the
  991.     files remain valid.
  992.  
  993.   2.6.17.  J - Suspicious jump construct.
  994.  
  995.     The program did not start at the program entry point. The code has
  996.     jumped at least two times before reaching the final start-up code,
  997.     or the program jumped using an indirect operand. Sound programs
  998.     should not display this kind of strange behavior. If many files
  999.     cause this warning to be displayed, you should investigate your
  1000.     system thoroughly.
  1001.  
  1002.   2.6.18.  ? - Inconsistent header.
  1003.  
  1004.     The program being processed has an exe-header that does not reflect
  1005.     the actual program lay-out. The DOS SORT.EXE program will cause
  1006.     this warning to be displayed, because the actual size of the
  1007.     program file is less than reported in the 'size-of-load module'
  1008.     field in the exe-header! Many viruses do not update the exe-header
  1009.     of an EXE file correctly after they have infected the file, so if
  1010.     this warning appears a lot it seems you have a problem. You should
  1011.     ignore this warning for the DOS SORT.EXE program. (Hopefully
  1012.     MicroSoft will correct the problem before the next release of DOS).
  1013.  
  1014.   2.6.19.  G - Garbage instructions.
  1015.  
  1016.     The program contains code that seems to have no purpose other than
  1017.     encryption or avoiding recognition by virus scanners. This flag is
  1018.  
  1019.  
  1020.  
  1021.                                     Page 15
  1022.  
  1023.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1024.  
  1025.  
  1026.     very important, in fact it is the only flag that will cause TbScan
  1027.     to report an infection without the presence of any other flags.  In
  1028.     most cases there will not be any other flags since the file is
  1029.     encrypted and the instructions are hidden from the scanner.  In a
  1030.     few cases this flag will appear for 'normal' files. These files
  1031.     however are badly designed and that is the reason the 'garbage'
  1032.     flag appears.
  1033.  
  1034.   2.6.20.  U - Undocumented system call.
  1035.  
  1036.     The program uses unknown DOS calls or interrupts. These unknown
  1037.     calls can be issued to invoke undocumented DOS features, or to
  1038.     communicate with an unknown driver in memory. Since a lot of
  1039.     viruses use undocumented DOS features, or communicate with memory
  1040.     resident parts of a previously loaded instance of the virus, it is
  1041.     suspicious if a program performs unknown or undocumented
  1042.     communications. However, it does not necessarily indicate a virus
  1043.     because some 'tricky' programs use undocumented features too.
  1044.  
  1045.   2.6.21.  Y - Invalid bootsector.
  1046.  
  1047.     The bootsector is not completely according to the IBM defined
  1048.     bootsector format. It is likely that the bootsector contains a
  1049.     virus or has been corrupted.
  1050.  
  1051.   2.6.22.  Z - EXE/COM determinator.
  1052.  
  1053.     The program seems to check whether a file is a COM or EXE type
  1054.     program. Infecting a COM file is a process that is not similar to
  1055.     infecting an EXE file, so viruses that are able to infect both
  1056.     program types should be able to distinguish between them.
  1057.  
  1058.     There are of course also innocent programs that need to find out
  1059.     whether a file is a COM or EXE file. Executable file compressors,
  1060.     EXE2COM converters, debuggers, and high-loaders are examples of
  1061.     programs that may contain a routine to distinguish between EXE and
  1062.     COM files.
  1063.  
  1064.   2.6.23.  O - code Overwrite.
  1065.  
  1066.     This flag will be displayed if TbScan detects that the program
  1067.     overwrites some of its own instructions. However, it does not seem
  1068.     to have a complete (de)cryptor routine.
  1069.  
  1070.   2.6.24.  B - Back to entry.
  1071.  
  1072.     The program seems to execute some code, and after that it jumps
  1073.     back to the entry-point of the program. Normally this would result
  1074.     in an endless loop, except when the program has also modified some
  1075.     of its instructions. This is quite common behavior for computer
  1076.     viruses. In combination with any other flag TbScan will report a
  1077.     virus.
  1078.  
  1079.  
  1080.  
  1081.                                     Page 16
  1082.  
  1083.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1084.  
  1085.  
  1086.   2.6.25.  K - Unusual stack.
  1087.  
  1088.     The EXE file being processed has an odd (instead of even) stack
  1089.     offset or a suspicious stack segment. Many viruses are quite buggy
  1090.     by setting up an illegal stack value.
  1091.  
  1092.   2.6.26.  p - Packed or compressed file.
  1093.  
  1094.     The program has been packed or compressed. There are some utilities
  1095.     that are able to compress a program file, like EXEPACK or PKLITE.
  1096.     If the file was infected after the file had been compressed, TbScan
  1097.     will be able to detect the virus. However, if the file had already
  1098.     been infected before it was compressed, the virus has also been
  1099.     compressed in the process, and a virus scanner might not be able to
  1100.     recognize the virus anymore.
  1101.  
  1102.     Fortunately, this does not happen a lot, but you should beware! A
  1103.     new program might look clean, but can turn out to be the carrier of
  1104.     a compressed virus. Other files in your system will then be
  1105.     infected too, and it is these infections that will be clearly
  1106.     visible to virus scanners.
  1107.  
  1108.   2.6.27.  w - Windows or OS/2 header.
  1109.  
  1110.     The program can be or is intended to be used in a Windows (or OS/2)
  1111.     environment. As yet TbScan does not offer a specialized scanning
  1112.     method for these files. Of course that will change as soon as
  1113.     Windows- or OS/2-specific viruses start occurring.
  1114.  
  1115.   2.6.28.  h - Hidden or System file.
  1116.  
  1117.     The file has the 'Hidden' or the 'System' file attribute set.  This
  1118.     means that the file is not visible in a DOS directory display but
  1119.     TbScan will scan it anyway. If you don't know the origin and/or
  1120.     purpose of this file, you might be dealing with a 'Trojan Horse' or
  1121.     a 'joke' virus program. Copy such a file onto a diskette; then
  1122.     remove it from it's program environment and check if the program
  1123.     concerned is missing the file. If a program does not miss it, you
  1124.     will have freed some disk space, and maybe you have saved your
  1125.     system from future disaster in the process.
  1126.  
  1127.   2.6.29.  i - Internal overlay.
  1128.  
  1129.     The program being processed has additional data or code behind the
  1130.     load-module as specified in the exe-header of the file. The program
  1131.     might have internal overlay(s), or configuration or debug
  1132.     information appended behind the load-module of the EXE file.
  1133.  
  1134.  
  1135.   2.7.  Program validation.
  1136.  
  1137.     This chapter only applies if you use TbSetup to generate the
  1138.  
  1139.  
  1140.  
  1141.                                     Page 17
  1142.  
  1143.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1144.  
  1145.  
  1146.     Anti-Vir.Dat records. Without these records program validation is
  1147.     not an option.
  1148.  
  1149.     TbScan will perform as intended on most programs. However, there
  1150.     are some programs that require special attention, in order to avoid
  1151.     false alarms. Most of these programs are recognized automatically
  1152.     by the TbSetup program. However, it is certainly possible that you
  1153.     have a few files on your system that meet the following criteria:
  1154.  
  1155.     1) Programs that trigger the heuristic alarm of TbScan.
  1156.     2) Programs that change frequently.
  1157.  
  1158.     If an 'infection' has been found with the heuristic analyzis or
  1159.     integrity checking only and if there is a Anti-Vir.Dat record
  1160.     available, TbScan offers an additional option in its virus-alert
  1161.     window:  'V)alidate program'.  If you are convinced that the
  1162.     indicated program does NOT contain a virus, you can press 'V' to
  1163.     set a flag in the program's record.  This makes it possible to
  1164.     avoid future false alarms.
  1165.  
  1166.     There are two validation modes: if the TbScan virus alarm is due
  1167.     to a file change, the validation applies to future file changes
  1168.     only, if the virus alarm is due to heuristic analysis, the
  1169.     validation only applies to heuristic results. When the file is
  1170.     exluded from heuristic analysis the file will still be checksummed,
  1171.     if the file is excluded from integrity checking TbScan will still
  1172.     perform heuristic analysis on that file.
  1173.  
  1174.     Note: if you replaced a file (software upgrade) and you did not use
  1175.     TbSetup, TbScan will pop-up its virus alert window to inform you
  1176.     about the file change. Do NOT select the validation option in this
  1177.     case, because this would exclude the file for future integrity
  1178.     checking. You had better abort TbScan and run TbSetup on the
  1179.     changed file(s).
  1180.  
  1181.  
  1182.   2.8.  Command line options
  1183.  
  1184.     It is possible to specify options on the command line. Tbscan
  1185.     recognizes option short-keys and option words. The words are easier
  1186.     to memorize, and they will be used in this manual for convenience.
  1187.  
  1188.     optionword  parameter short  explanation
  1189.     ----------  --------- ----- -------------------------------------
  1190.  
  1191.     help                    he  =help (-? = short help)
  1192.     pause                   pa  =enable 'Pause' prompt
  1193.     mono                    mo  =force monochrome
  1194.     quick                   qs  =quick scan (uses Anti-Vir.Dat)
  1195.     allfiles                af  =scan non-executable files too
  1196.     heuristic               hr  =enable heuristic alerts
  1197.     extract                 ex  =extract signature (registered only)
  1198.  
  1199.  
  1200.  
  1201.                                     Page 18
  1202.  
  1203.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1204.  
  1205.  
  1206.     once                    oo  =only once a day
  1207.     secure                  se  =user abort now allowed (reg. only)
  1208.     compat                  co  =maximum-compatibility mode
  1209.     ignofile                in  =ignore no-file-error
  1210.     noboot                  nb  =skip bootsector check
  1211.     nomem                   nm  =skip memory check
  1212.     hma                     hm  =force HMA scan
  1213.     nohmem                  nh  =skip UMB/HMA scan
  1214.     nosub                   ns  =skip sub-directories
  1215.     noautohr                na  =no auto heuristic level adjust
  1216.     repeat                  rp  =scan multiple diskettes
  1217.     batch                   ba  =batch mode. No user input
  1218.     delete                  de  =delete infected files
  1219.     log                     lo  =output to log file
  1220.     append                  ap  =log file append mode
  1221.     expertlog               el  =no heuristic descriptions in log
  1222.     logname   =<filename>   ln  =set path/name of log file
  1223.     loglevel =<0..4>        ll  =set log level
  1224.     rename   [=<ext-mask>]  rn  =rename infected files
  1225.  
  1226.    2.8.1.  help (he)
  1227.  
  1228.     If you specify this option TbScan will display the help as listed
  1229.     above.
  1230.  
  1231.    2.8.2.  pause (pa)
  1232.  
  1233.     When you enter option 'pause' TbScan will stop after it has checked
  1234.     the contents of one window.  This gives you the possibility to
  1235.     examine the results without having to consult a log file
  1236.     afterwards.
  1237.  
  1238.    2.8.3.  mono (mo)
  1239.  
  1240.     This option forces TbScan to refrain from using colors in the
  1241.     screen output. This might enhance the screen output on some LCD
  1242.     screens or color-emulating monochrome systems.
  1243.  
  1244.    2.8.4.  quick (qs)
  1245.  
  1246.     If you specify this option TbScan will use the Anti-Vir.Dat files
  1247.     to check for file changes since the last time only. If a file has
  1248.     been changed (CRC change) or is not yet listed in Anti-Vir.Dat it
  1249.     will be scanned.
  1250.  
  1251.    2.8.5.  allfiles (af)
  1252.  
  1253.     This option causes TbScan to scan non-executable files (files
  1254.     without extension COM, EXE, SYS or BIN) too. If TbScan finds out
  1255.     that such a file does not contain anything that can be executed by
  1256.     the processor the file will be 'skipped'. Otherwise the file will
  1257.     be searched for COM, EXE and SYS signatures. TbScan however will
  1258.  
  1259.  
  1260.  
  1261.                                     Page 19
  1262.  
  1263.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1264.  
  1265.  
  1266.     not perform heuristic analysis on these files.
  1267.  
  1268.     Since viruses do not infect non-executable files it is not
  1269.     necessary to scan non-executable files too. We even recommend not
  1270.     to use this option unless you have a good reason to scan all files.
  1271.     Once again: a virus needs to be executed to perform what it is
  1272.     programmed to do, and since non-executable files will not be
  1273.     executed a virus in such a file can not do anything. For this
  1274.     reason viruses do not even try to infect such files.
  1275.  
  1276.    2.8.6.  heuristic (hr)
  1277.  
  1278.     TbScan always performs a heuristic scan on the files being
  1279.     processed. However, only if a file is very probably infected with a
  1280.     virus TbScan will report the file as being infected. If you use
  1281.     option 'heuristic' TbScan is somewhat more sensitive. In this mode
  1282.     90% of the new, unknown, viruses will be detected without any
  1283.     signature, but some false alarms may occur. Consult also chapter
  1284.     2.5 ('Heuristic scanning').
  1285.  
  1286.    2.8.7.  extract (ex)
  1287.  
  1288.     This option is available to registered users only. See the chapter
  1289.     'Defining a Signature' (4.4.) on how to use the option 'extract'.
  1290.  
  1291.    2.8.8.  once (oo)
  1292.  
  1293.     If you specify this option TbScan will 'remember' after its scan
  1294.     that is has been executed that day, and that it should not be run
  1295.     again the same day with this particular option set. This option is
  1296.     very useful if you incorporate it in your AUTOEXEC.BAT file in
  1297.     combination with a list file:
  1298.  
  1299.                 TbScan @Everyday.Lst once rename
  1300.  
  1301.     TbScan will now scan the list of files and/or paths specified in
  1302.     the file EVERYDAY.LST during the first boot-up of the day. If the
  1303.     systems boots more often that day, TbScan will then return to DOS
  1304.     immediately.  This option does not interfere with the regular use
  1305.     of TbScan. If you invoke TbScan without the 'once' option it will
  1306.     always run, regardless of a previous run with the 'once' option set.
  1307.  
  1308.     Note that TbScan 'once' will be executed regardless of regular
  1309.     TbScan sessions earlier that day.
  1310.  
  1311.     Also note that if TbScan cannot write to TBSCAN.EXE because it has
  1312.     been flagged 'read-only' or is located on a write-protected
  1313.     diskette, the 'once' option will fail and the scanner will run
  1314.     without it.
  1315.  
  1316.    2.8.9.  secure (se)
  1317.  
  1318.  
  1319.  
  1320.  
  1321.                                     Page 20
  1322.  
  1323.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1324.  
  1325.  
  1326.     This option is available to registered users only. If this option
  1327.     is specified it is no longer possible to cancel TbScan by pressing
  1328.     Ctrl-Break, or to respond to a virus alert window.
  1329.  
  1330.    2.8.10.  compat (co)
  1331.  
  1332.     If you specify this option, TbScan attempts to be more compatible
  1333.     with your system. Use this option if the program does not behave as
  1334.     can be expected or even halts the system. This option will slow
  1335.     down the scanning process so it should only be used when necessary.
  1336.     Note that option 'compat' does not affect the results of a scan.
  1337.  
  1338.    2.8.11.  ignofile (in)
  1339.  
  1340.     If this option is specified and no files can be found, TbScan will
  1341.     not display the 'no files found' message, nor does it exit with
  1342.     errorlevel 1. This option might be useful for automatic archive
  1343.     contents scanning. If the archive contains no executable files,
  1344.     TbScan will not return with an error condition.
  1345.  
  1346.    2.8.12.  noboot (nb)
  1347.  
  1348.     If you specify this option TbScan will not scan the bootsector.
  1349.  
  1350.    2.8.13.  nomem (nm)
  1351.  
  1352.     If you specify this option TbScan will not scan the memory of the
  1353.     PC for viruses.
  1354.  
  1355.    2.8.14.  hma (hm)
  1356.  
  1357.     TbScan detects the presence of an XMS-driver, and scans HMA
  1358.     automatically. If you have an HMA-driver that is not compatible
  1359.     with the XMS standard you can use the 'hma' option to force TbScan
  1360.     to scan HMA.
  1361.  
  1362.    2.8.15.  nohmem (nh)
  1363.  
  1364.     By default TbScan identifies RAM beyond the DOS limit and scans
  1365.     that too. This means that video memory and the current EMS pages
  1366.     are scanned by default. You can use the 'nohmem' option to disable
  1367.     the scanning of non-DOS memory.
  1368.  
  1369.    2.8.16.  nosub (ns)
  1370.  
  1371.     By default TbScan will search sub-directories for executable files,
  1372.     unless a filename (wildcards allowed!) has been specified. If you
  1373.     use this option, TbScan will not scan sub-directories.
  1374.  
  1375.    2.8.17.  noautohr (na)
  1376.  
  1377.     TbScan automatically adjusts the heuristic detection level after a
  1378.  
  1379.  
  1380.  
  1381.                                     Page 21
  1382.  
  1383.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1384.  
  1385.  
  1386.     virus has been found. This provides you maximum detection
  1387.     capabilities in case you need it, while the amount of false alarms
  1388.     due to heuristics remains small in normal situations. With other
  1389.     words:  as soon as a virus has been found, TbScan will anticipate
  1390.     and proceed as if option 'heuristic' has been specified. If you
  1391.     don't want this, you can specify option 'noautohr'.
  1392.  
  1393.    2.8.18.  delete (de)
  1394.  
  1395.     If TbScan detects a virus in a file it prompts the user to delete 
  1396.     or rename the infected file, or to continue without action.  If you 
  1397.     specify the 'delete' option, TbScan will not ask the user what to 
  1398.     do but will delete the infected file automatically. Use this option 
  1399.     if you have established that your system has been infected.  Make 
  1400.     sure that you have a clean back-up, and that you really want to get 
  1401.     rid of all infected files at once.
  1402.  
  1403.    2.8.19.  rename (rn)
  1404.  
  1405.     If TbScan detects a file virus it prompts the user to delete or 
  1406.     rename the infected file, or to continue without action. If you 
  1407.     specify the 'rename' option, TbScan will not ask the user what to 
  1408.     do but will rename the infected file automatically. By default, the 
  1409.     first character of the file extension will be replaced by the 
  1410.     character 'V'.  An .EXE file will be renamed to .VXE, and a .COM 
  1411.     file to .VOM. This prevents the infected programs from being 
  1412.     executed, spreading the infection. At the same time they can be 
  1413.     kept for later examination and repair.
  1414.  
  1415.     You may also add a parameter to this option specifying the target
  1416.     extension.  This parameter should always contain 3 characters;
  1417.     question marks are allowed. The default target extension is 'V??'.
  1418.  
  1419.    2.8.20.  batch (ba)
  1420.  
  1421.     If TbScan detects a file virus it prompts the user to delete or 
  1422.     rename the infected file, or to continue without action. If you 
  1423.     specify the 'batch' option TbScan will always continue. This option
  1424.     is designed for use in a batch file that is executed without the
  1425.     user attending. We highly recommended you to use a log file in such
  1426.     situations, as a scanning operation does not make much sense
  1427.     without the return messages being read.
  1428.  
  1429.    2.8.21.  repeat (rp)
  1430.  
  1431.     This option is very useful if you want to check a large amount of
  1432.     diskettes. TbScan does not return to DOS after checking a disk, but
  1433.     it prompts you to insert another disk in the drive.
  1434.  
  1435.    2.8.22.  log (lo)
  1436.  
  1437.     When you use this option, TbScan creates a LOG-file.  The LOG-file
  1438.  
  1439.  
  1440.  
  1441.                                     Page 22
  1442.  
  1443.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1444.  
  1445.  
  1446.     lists all infected program files, specifying upper-case heuristic
  1447.     flags and complete pathnames.
  1448.  
  1449.    2.8.23.  append (ap)
  1450.  
  1451.     If you use this option, TbScan will not overwrite an existing log
  1452.     file but append the new information to it.
  1453.  
  1454.     If you use this option often, it is recommended to delete or
  1455.     truncate the log file once in a while to avoid unlimited growth.
  1456.  
  1457.     Note: you have to combine this option with option 'log'.
  1458.  
  1459.    2.8.24.  logname (ln)
  1460.  
  1461.     With option logname you can specify the name of the log file to be
  1462.     used. The default filename is TBSCAN.LOG and it will be created in
  1463.     the current directory.
  1464.  
  1465.     If you want to print the results, you can specify a printer device
  1466.     name rather than a filename (logname=lpt1).
  1467.  
  1468.     Note: you have to combine this option with option 'log'.
  1469.  
  1470.    2.8.25.  loglevel (ll)
  1471.  
  1472.     The 'loglevel' option determines which files will be put in the
  1473.     log file. There are five log levels:
  1474.         0       Log only infected files. If there are no infected files
  1475.                 do not create or change the log file.
  1476.         1       Put a summary and timestamp in the log file. Put only
  1477.                 infected files in the log file.
  1478.         2       Same as loglevel=2, but now also 'suspected' files are
  1479.                 logged. Suspected files are files that would trigger
  1480.                 the heuristic alarm if option 'heuristic' had been
  1481.                 specified.
  1482.         3       Same as loglevel=2, but all files that have a warning
  1483.                 character printed behind the filename will be logged
  1484.                 too.
  1485.         4       All files being processed will be put into the log
  1486.                 file.
  1487.  
  1488.     The default log level is 1.
  1489.  
  1490.     Note: you have to combine this option with option 'log'.
  1491.  
  1492.    2.8.26.  expertlog (el)
  1493.  
  1494.     If you specify this option TbScan will not display the descriptions
  1495.     of the heuristic flags into the log file.
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.                                     Page 23
  1502.  
  1503.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1504.  
  1505.  
  1506.   2.9.  Examples:
  1507.  
  1508.         TbScan c:\ noboot
  1509.             Process all executable files in the root directory and its
  1510.             sub-directories.  Skip the bootsector scan.
  1511.  
  1512.         TbScan \*.*
  1513.             Process all files in the root directory. Don't process
  1514.             sub-directories.
  1515.  
  1516.         TbScan c:\ log logname=c:\test.log loglevel=2
  1517.             All executable files on drive C: will be checked. A
  1518.             LOG file with the name c:\test.log will be created. The log
  1519.             file will contain all infected and suspected files.
  1520.  
  1521.         TbScan \ log logname=lpt1
  1522.             TbScan will scan the root directory and its
  1523.             sub-directories. The results are redirected to the printer
  1524.             rather than to a log file.
  1525.  
  1526.  
  1527.   2.10.  The configuration file
  1528.  
  1529.     TbScan searches for a file named TBAV.INI in the TbScan directory.
  1530.     This file may contain options you want to use always. Although this
  1531.     file can be edited manually, it is recommended to let the TBAV menu
  1532.     shell generate it. By default, the contents of the TBAV.INI file is
  1533.     only valid while in the TBAV menu shell, but if you specify the
  1534.     keyword 'UseIni' in the [TbScan] section, the options will also be
  1535.     valid when TbScan is invoked from the command line. Be careful, as
  1536.     options specified in the TBAV.INI file can not be undone on the
  1537.     command line.
  1538.  
  1539.  
  1540.   2.11.  The TbScan.Lng file
  1541.  
  1542.     The TbScan.Lng file contains all texts being displayed by TbScan.
  1543.     You can translate or customize the messages with any ASCII editor.
  1544.  
  1545.     The messages are separated by the dollar sign ($). The first
  1546.     message displays our address and registration info. You can edit
  1547.     this message as you please, for instance adding your company logo.
  1548.  
  1549.     You may add color codes to the TbScan.Lng file. A color code is
  1550.     preceeded by the character '|'. The following color codes are
  1551.     available: (all numbers are in hex).
  1552.     Color               Foreground      Highlight       Background
  1553.     Black               00              08              00
  1554.     Blue                01              09              10
  1555.     Green               02              0A              20
  1556.     Cyan                03              0B              30
  1557.     Red                 04              0C              40
  1558.  
  1559.  
  1560.  
  1561.                                     Page 24
  1562.  
  1563.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1564.  
  1565.  
  1566.     Magenta             05              0D              50
  1567.     Yellow/Brown        06              0E              60
  1568.     White/gray          07              0F              70
  1569.     Example:    To make a highligted green character on a red
  1570.     background the color code would be 0A+40=4A. To make the character
  1571.     blink add 80h to the result.
  1572.  
  1573.  
  1574.   2.12.  Error messages
  1575.  
  1576.     Error messages that might be displayed:
  1577.  
  1578.     +   Limit exceeded.
  1579.         The total amount of internal signature information exceeded
  1580.         64Kb. This message will be displayed if the number of
  1581.         signatures reaches 2500. You can either reduce the number of
  1582.         signatures or make them shorter.
  1583.  
  1584.     +   Command line error.
  1585.         An invalid or illegal command line option has been specified.
  1586.  
  1587.     +   No matching executable files found.
  1588.         The path specified does not exist, is empty, or the specified
  1589.         file does not exist or is not an executable file.
  1590.  
  1591.     +   Cannot create logfile.
  1592.         The specified log file path is illegal, the disk is full or
  1593.         write protected, or the file already exists and cannot be
  1594.         overwritten.
  1595.  
  1596.     +   Sanity check failed!
  1597.         TbScan detected that its internal checksum does not match
  1598.         anymore. TbScan is possibly contaminated by a virus.
  1599.         Obtain a clean copy of TbScan, put it on a WRITE PROTECTED
  1600.         bootable diskette, boot from that diskette, and try again!
  1601.  
  1602.  
  1603.   2.13.  Exit codes
  1604.  
  1605.     TbScan terminates with one of the following exit codes:
  1606.  
  1607.         Errorlevel 0:           no viruses found, no error occurred.
  1608.         Errorlevel 1:           some error occurred.
  1609.         Errorlevel 255:         sanity check failed.
  1610.         Errorlevel >1 and <128: one or more viruses detected.
  1611.  
  1612.     When a virus is detected the errorlevel is used as a bit field:
  1613.  
  1614.         bit 1 (02):             SYS file infected.
  1615.         bit 2 (04):             EXE file infected.
  1616.         bit 3 (08):             COM file infected.
  1617.         bit 4 (16):             virus found in LOW memory.
  1618.  
  1619.  
  1620.  
  1621.                                     Page 25
  1622.  
  1623.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1624.  
  1625.  
  1626.         bit 5 (32):             virus found in BOOTsector.
  1627.         bit 6 (64):             virus found in HIGH memory.
  1628.  
  1629.     An errorlevel of 26 means that a SYS, COM and LOW virus is found
  1630.     (26 = 02+08+16).
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.  
  1660.  
  1661.  
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.                                     Page 26
  1682.  
  1683.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1684.  
  1685.  
  1686. 3.  CONSIDERATIONS AND RECOMMENDATIONS
  1687.  
  1688.  
  1689.   3.1.  The internals of TbScan
  1690.  
  1691.     3.1.1.  How is that blazing speed achieved?
  1692.  
  1693.         The speed of TbScan is achieved by many measures.
  1694.  
  1695.         To avoid false alarms, TbScan scans restricted areas of the
  1696.         file.  Naturally this approach benefits the scanning speed.
  1697.         Disk access is minimized, and not much data has to be
  1698.         searched.
  1699.  
  1700.         TbScan is entirely written in assembly language. High-level
  1701.         languages like Pascal and Basic have an enormous overhead which
  1702.         not only affects the size of the program but also reduces the
  1703.         execution speed.
  1704.  
  1705.         The search routine has been highly optimized. Every byte to be
  1706.         scanned is only accessed once, regardless of the number of
  1707.         signatures. Execution time will hardly increase when it has to
  1708.         scan for 3000 signatures instead of 500. The search algorithm
  1709.         used can be described as 'rotating semi-double 16-bits
  1710.         hashing'.
  1711.  
  1712.         The number of DOS function calls has been minimized. DOS is
  1713.         relatively slow, and access should be avoided as much as
  1714.         possible. In most cases TbScan even does not use DOS to access
  1715.         the files to be scanned.
  1716.  
  1717.         TbScan writes directly to the screen instead of calling on DOS
  1718.         or BIOS to do this. Although TbScan has a scrolling window,
  1719.         screen access is minimized as much as possible without
  1720.         affecting the visual display of the program output.
  1721.  
  1722.     3.1.2.  The algorithms
  1723.  
  1724.         When TbScan processes a file it prints 'Looking', 'Checking',
  1725.         'Tracing', 'Scanning' or 'Skipping'.
  1726.  
  1727.       3.1.2.1.  Looking
  1728.  
  1729.         'Looking' means that TbScan has successfully located the entry
  1730.         point of the program in one step. The program code has been
  1731.         identified so TbScan knows where to search without the need of
  1732.         additional analysis.
  1733.  
  1734.         Looking will be used on most files produced by known software.
  1735.  
  1736.       3.1.2.2.  Checking
  1737.  
  1738.  
  1739.  
  1740.  
  1741.                                     Page 27
  1742.  
  1743.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1744.  
  1745.  
  1746.         'Checking' means that TbScan has successfully located the entry
  1747.         point of the program, and is scanning a frame of about 4Kb
  1748.         around the entry point. If the file is infected the signature
  1749.         of the virus will be in this area. 'Checking' is a very fast
  1750.         and reliable scan algorithm.
  1751.  
  1752.         Checking will be used on most files that are not produced by
  1753.         known software.
  1754.  
  1755.       3.1.2.3.  Tracing
  1756.  
  1757.         'Tracing' means that TbScan has successfully traced a chain of
  1758.         jumps or calls while locating the entry-point of the program,
  1759.         and is scanning a frame of about 4Kb around this location. If
  1760.         the file has been infected, the signature of the virus will be
  1761.         in this area. 'Tracing' is a fast and reliable scan algorithm.
  1762.  
  1763.         Tracing will be primarily used for TSR-type COM files. Most
  1764.         viruses will force TbScan to use 'Tracing'.
  1765.  
  1766.       3.1.2.4.  Scanning
  1767.  
  1768.         'Scanning' means that TbScan is scanning nearly the entire file
  1769.         (except for the exe-header which cannot contain any viral
  1770.         code). This algorithm will be used if 'Looking', 'Checking' or
  1771.         'Tracing' cannot be safely used. This is the case when the
  1772.         entry-point of the program contains other jumps and calls to
  1773.         code located outside the scanning frame, or when the heuristic
  1774.         analyzer found something that should be investigated more
  1775.         thoroughly.  'Scanning' is a slow algorithm.  Because it
  1776.         processes almost the entire file, including data areas, false
  1777.         alarms are more likely to occur.
  1778.  
  1779.         The 'Scanning' algorithm will be used while scanning
  1780.         bootsectors, SYS and BIN files.
  1781.  
  1782.       3.1.2.5.  Skipping
  1783.  
  1784.         'Skipping' will occur with SYS and OVL files only. It simply
  1785.         means that the file will not be scanned. As there are many SYS
  1786.         files that contain no code at all (like CONFIG.SYS) it makes
  1787.         absolutely no sense to scan these files for viruses.
  1788.  
  1789.         The same applies to .OV? files. Many overlay files do not
  1790.         deserve to be called as such as they lack an exe-header. Such
  1791.         files cannot be invoked through DOS making them just as
  1792.         invulnerable to direct virus attacks as .TXT files are. If a
  1793.         virus is reported to have infected an .OV? file, it involved
  1794.         one of the relatively few overlay files that does contain an
  1795.         exe-header. The infection was then the result of the virus
  1796.         monitoring the DOS exec-call (function 4Bh) and infecting any
  1797.         program being invoked that way, including 'real' overlay files.
  1798.  
  1799.  
  1800.  
  1801.                                     Page 28
  1802.  
  1803.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1804.  
  1805.  
  1806.  
  1807.   3.2.  The Sanity check
  1808.  
  1809.     TbScan performs a sanity check when it fires up. However, to be
  1810.     honest, it is NOT possible to make software 100% virus-resistant.
  1811.     If this was the case, the virus problem could be solved simply by
  1812.     incorporating a self-check in every program.
  1813.  
  1814.     Unfortunately, a sanity check does not work if a 'stealth' type of
  1815.     virus is involved. A stealth virus can hide itself completely when
  1816.     a self-check is being performed. Do note that we are not dealing
  1817.     with a TbScan bug here. The failure to detect stealth viruses is
  1818.     common to ALL software performing a sanity check. Therefore, we
  1819.     recommend you to keep a clean version of TbScan on a
  1820.     write-protected diskette. Use this diskette to check other machines
  1821.     once you have found a virus in your own system.
  1822.  
  1823.  
  1824.   3.3.  How many viruses does it detect?
  1825.  
  1826.     Some people think that TbScan recognizes only 1000 viruses, based
  1827.     upon the fact that the signature file contains only 1000 signatures.
  1828.     What they do not realize is that the signatures are family
  1829.     signatures, which means that each signature covers many viruses.
  1830.     For instance, our PLO/Jerusalem signature detects over 100 viruses
  1831.     which are all related to the 'original' Jerusalem virus! Only one
  1832.     (wildcarded) signature is needed by TbScan to cover all these
  1833.     mutants.
  1834.  
  1835.     Some competitive products treat each virus mutant as a separate
  1836.     virus, and so claim to detect over 2000 viruses. However, TbScan
  1837.     detects even more viruses using 'only' 1000 signatures.
  1838.  
  1839.  
  1840.   3.4.  Scan scheduling
  1841.  
  1842.     It is highly advisable to devise your own schedule for a regular
  1843.     scan of your system. Creation of a special TbScan boot diskette is
  1844.     highly recommended in this respect.
  1845.  
  1846.     Boot from your original DOS diskette. Use the diskcopy command to
  1847.     copy the DOS diskette onto a new diskette. Delete all files from
  1848.     this diskette, except for the two hidden system files and
  1849.     COMMAND.COM.  Copy all TbScan files to the diskette. Create a new
  1850.     AUTOEXEC.BAT file which should contain the line 'TbScan C:\'.
  1851.     Write-protect the diskette with the write-protect tab.
  1852.  
  1853.     The following scan sessions (listed in order of preference) are
  1854.     recommended:
  1855.  
  1856.     -   Run TbScan from A WRITE-PROTECTED BOOTABLE DISKETTE once a
  1857.         week. Boot from this diskette before invoking the scanner. We
  1858.  
  1859.  
  1860.  
  1861.                                     Page 29
  1862.  
  1863.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1864.  
  1865.  
  1866.         agree that it may be inconvenient to boot from a diskette, but
  1867.         it is the only way to make sure that no stealth virus will
  1868.         become resident in memory.
  1869.  
  1870.     -   It is recommended to invoke a daily scan. You can invoke
  1871.         TbScan with the 'once' option from within the autoexec.bat file
  1872.         to perform the daily scan session automatically.  It is not
  1873.         necessary to boot from the bootable TbScan diskette to perform
  1874.         the daily scan.
  1875.  
  1876.  
  1877.   3.5.  Compressed files
  1878.  
  1879.     Many executable files are compressed or packed. They contain an
  1880.     unpacking routine which unpacks the executable in memory to restore
  1881.     the original program size. The simplest compressor is the Microsoft
  1882.     ExePack program. This compressor is even included in the link
  1883.     program itself (use the /E option while linking to pack the
  1884.     executable).
  1885.  
  1886.     If the program contained a virus BEFORE compression took place, the
  1887.     virus has been compressed too. A scanner will not recognize the
  1888.     virus because of its compressed signature. The virus will still be
  1889.     able to execute though.
  1890.  
  1891.     If a virus resides inside a compressed file, it betrays its
  1892.     presence by infecting other files in your system. Hence the
  1893.     signature will be visible in all the newly infected files, which
  1894.     the scanner will dutifully report. The compressed file that brought
  1895.     the (compressed) virus into your system will probably not trigger
  1896.     an alarm itself. The virus inside this program can do its worst all
  1897.     over again unless you isolate this compressed file as the source of
  1898.     the infection.
  1899.  
  1900.     TbScan displays a 'p' behind each file that it finds to be
  1901.     compressed by ExePack or any other compressor. TbScan does not
  1902.     unpack files, since too many files are compressed nowadays.
  1903.     Decompressing each one of them in your system would only be
  1904.     feasible if there was a limited number of compression schemes. Even
  1905.     if there were, TbScan unpacking all your compressed files would be
  1906.     consuming too much time, the more so as most of the time this
  1907.     action would be quite unnecessary. Once you have established that a
  1908.     compressed file does not contain a virus, you can rest assured that
  1909.     this file will not get internally infected at a later date. Hence
  1910.     it makes no sense to have TbScan unpack these files time and time
  1911.     again. If there wasn't a virus the first time you checked, there
  1912.     will not be one at subsequent times.
  1913.  
  1914.     Note that if the compressed file gets infected AFTER it has been
  1915.     compressed, the virus has NOT been compressed and will be clearly
  1916.     visible to a scanner. The problem we referred to above only exists
  1917.     when a file has been infected first and compressed afterwards.
  1918.  
  1919.  
  1920.  
  1921.                                     Page 30
  1922.  
  1923.  Thunderbyte virus detector. (C) Copyright 1989-1993 Thunderbyte B.V.
  1924.  
  1925.  
  1926.     Fortunately, you can treat compression as a minor risk when files
  1927.     have been compressed by the programmer of the product (as is often
  1928.     the case). Most programmers are aware of the existence of viruses
  1929.     and go about compression with great care. If the programmer did not
  1930.     compress the file, well, then the file has not been compressed and
  1931.     the problem does not exist at all,...that is, if you obtained the
  1932.     original version of a program of course.
  1933.  
  1934.     If you obtained your copy of the program from another copy, you
  1935.     have joined ranks with those that use illegal (!) copies of
  1936.     software and thereby take great risks! One of the previous owners
  1937.     of the program may have compressed it, treating you (perhaps
  1938.     unknowingly) to a nasty virus infection.
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.                                     Page 31